const webpack = require('webpack')
const path = require('path')


module.exports = {
  // configureWebpack: vue-cli中对webpack config的基础扩展， 会merge webpack.config.js
  configureWebpack: {
    plugins: [
      new webpack.ProvidePlugin({
        'dayjs': 'dayjs',
        'md5': 'md5',
        'appConfig': path.resolve(__dirname, "config/index.js"),
        '$utils': path.resolve(__dirname, "utils/index.js"),
        '$http': path.resolve(__dirname, "api/index.js"),
        '$im': path.resolve(__dirname, "utils/socket.js"),
      })
    ]
  },
  chainWebpack: (config) => {
    // 发行或运行时启用了压缩时会生效
    config.optimization.minimizer('terser').tap((args) => {
      const compress = args[0].terserOptions.compress
      // 非 App 平台移除 console 代码(包含所有 console 方法，如 log,debug,info...)
      compress.drop_console = false
      compress.pure_funcs = [
        '__f__', // App 平台 vue 移除日志代码
        // 'console.debug' // 可移除指定的 console 方法
      ]
      return args;
    })
  }
}
